Go 9x9 128K
-----------

Go 9x9 128K is the 128K edition of Go 9x9 (https://lawlord.itch.io/go-9x9).
The 48K version had to squeeze a Monte Carlo Go AI into 48 kilobytes.
This one spreads it over all eight memory banks of the ZX Spectrum 128K, and spends the extra memory on knowledge
rather than graphics: a much larger sense of shape, a bigger tree of variations and an opening book of 8,000 positions.


How strong is it?

It is stronger than most human players who have not yet reached single-digit kyu.
Against the 48K version with the same time per move, it wins about 75% of games.
At 10 seconds a move it plays level with the 48K version thinking for 60.
And its new two-minute level beats the 48K version's strongest level in 85% of games.


What the extra memory buys

- A sense of shape. On top of the 1,028 small shapes of the 48K version, it knows about 8,000 larger ones: the 12 points around a move.
  They were learned from positions evaluated by KataGo, one of the strongest Go programs in the world,
  and tell the computer which moves deserve its thought.
- A bigger tree of variations. About 1,000 positions in a memory bank of its own.
  The 48K version's tree of 700 filled up on almost every move, so more time helped it little; here more time means deeper reading.
- An opening book of 8,000 positions, built against the replies human players choose most often. In the opening it often answers at once.
- A two-minute level. 10, 20, 30, 60 or 120 seconds per move.


How it thinks

The computer thinks the Monte Carlo way. Before each move it plays about 130 quick imaginary games to the end (at 30 seconds a move),
trying first the moves suggested by its sense of shape and its opening book, grows a tree of the most promising lines,
and plays the move that did best. It keeps thinking while you think, and saves time on easy moves for the hard ones.


Features

- 9x9 Go against the computer, or two players on one Spectrum
- Five time levels: 10, 20, 30, 60 and 120 seconds per move, changeable during the game
- Handicap 2-5 stones
- Area scoring, komi 7 (0.5 with handicap), positional superko
- Pass, undo, new game; the computer resigns hopeless games
- A tidy ending: after your pass it fills the last neutral points and passes, or resigns,
  and plays on while there is still something to play for
- Automatic dead-stone marking, territory map and score count
- Kempston joystick
- Hand-written Z80 assembly; all eight 16K memory banks in use
- Runs on the 128K, +2, +2A, +3 and Pentagon. For the 48K there is Go 9x9 (version 1.3)


Controls

In the menu: 1 who plays which colour, 2 time per move, 3 handicap, 4 Kempston joystick on or off, ENTER (or Fire) to start.

With the joystick on: move the cursor, Fire to play.
After two passes, Fire on a stone marks it dead, Fire on an empty point counts the score.

Move: column letter (A-H, J), row digit, ENTER. For example: E, 5, ENTER.

- P: pass
- U: undo (against the computer: its move and yours)
- N: new game, which is also resigning (Y to confirm, then the menu)
- K: handicap: 0, 2, 3, 4, 5 stones
- S: computer plays White / nobody (two players) / Black
- L: time per move: 10, 20, 30, 60, 120 seconds
- CAPS SHIFT + 0: delete the input


Files

- go9x9_128k_v2.0.1.tap: tape image. On the 128K and +2 choose Tape Loader, on the +2A and +3 Loader; about ten minutes from a real tape
- go9x9_128k_v2.0.z80: snapshot for emulators, starts at once and tells the emulator it is a 128K
- go9x9_128k_en.txt: instructions

Free homebrew. © LAWLORD 2026.

The 48K edition: Go 9x9 (https://lawlord.itch.io/go-9x9).

Also by LAWLORD: TITANUS BATTLE (128K) (https://lawlord.itch.io/titanus-battle-128k),
                 War for the Ring (https://lawlord.itch.io/war-for-the-ring),
                 Office Slacker (https://lawlord.itch.io/office-slacker).
